"""
    创建线程的方式

    函数式创建线程的语法结构：
        t = Thread(group, target, name, args, kwargs)

    参数说明：
        1、group：创建线程对象的进程组
        2、target：创建的线程对象所要执行的目标函数
        3、name：创建线程对象的名称，默认为 "Thread-n"
        4、args：用元组以位置参数的形式传入target对应函数的参数
        5、kwargs：用字典以关键字参数的形式传入target对应函数的参数

"""
import time
import threading
from threading import Thread


# 编写函数
def test():
    for i in range(3):
        time.sleep(1)
        print(f'线程：{threading.current_thread().name}正在执行{i}')


if __name__ == '__main__':
    start = time.time()
    print('主程序开始执行')

    # 线程
    lst = [Thread(target=test) for i in range(2)]

    for item in lst:  # item的数据类型是Thread类型
        # 启动线程
        item.start()

    for item in lst:
        item.join()
    print(f'一共耗时：{time.time() - start}')

# 三个线程并行执行的任务是什么？
# 主线程负责执行 main中的代码，Thread-1线程执行三次循环  Thread-2线程执行三次循环
# 三个线程又是并发执行，谁先执行不一定  Thread-1和Thread-2
